home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN007
- Boolean BOOLEAN008
- Boolean BOOLEAN009
- Boolean BOOLEAN010
- Boolean BOOLEAN011
- Boolean BOOLEAN012
- Boolean BOOLEAN013
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- Integer INTEGER012
- Integer INTEGER013
- Integer INTEGER014
- Integer INTEGER015
- Integer INTEGER016
- Integer INTEGER017
- Integer INTEGER018
- Integer INTEGER019
- Integer INTEGER020
- Integer INTEGER021
- Integer INTEGER022
- Integer INTEGER023
- Integer INTEGER024
- Integer INTEGER025
- Integer INTEGER026
- Integer INTEGER027
- Integer INTEGER028
- Integer INTEGER029
- Integer INTEGER030
- Integer INTEGER031
- Integer INTEGER032
- Integer INTEGER033
- Integer INTEGER034
- Integer INTEGER035
- Integer INTEGER036
- Integer INTEGER037
- Integer INTEGER038
- Integer INTEGER039
- Integer INTEGER040
- Integer INTEGER041
- Integer INTEGER042
- Integer INTEGER043
- Integer INTEGER044
- Integer INTEGER045
- Integer INTEGER046
- Integer INTEGER047
- String STRING008
- String STRING009
- String STRING010
- String STRING011
- String STRING012
- String STRING013
- String TSTRING014(200)
- String TSTRING015(200)
- String TSTRING016(23)
- String STRING017
- String STRING018
- String STRING019
- String STRING020
- String STRING021
- String STRING022
- String STRING023
- String STRING024
- String STRING025
- String STRING026
- String STRING027
- String STRING028
- String STRING029
- String STRING030
- String STRING031
- String STRING032
- String STRING033
- String STRING034
- String STRING035
- String STRING036
- String STRING037
- String STRING038
- String STRING039
- String STRING040
- String STRING041
- String STRING042
- String TSTRING043(19)
- String TSTRING044(19)
- String TSTRING045(19)
- String TSTRING046(19)
- String STRING047
- String STRING048
- String STRING049
- String STRING050
- String STRING051
- String STRING052
- String STRING053
- String STRING054
- String STRING055
- String STRING056
- String STRING057
- String STRING058
- String STRING059
- String STRING060
- String STRING061
- String STRING062
- String STRING063
- String TSTRING064(16)
- String TSTRING065(16)
- String STRING066
- String STRING067
- String STRING068
- String STRING069
- Word WORD001
- BigStr BIGSTR001
- BigStr BIGSTR002
- BigStr BIGSTR003
- BigStr BIGSTR004
- BigStr BIGSTR005
-
- ;------------------------------------------------------------------------------
-
- STRING009 = " Anti Decompilation System "
- STRING010 = " Method: IronMan "
- STRING011 = " Coding: Jugler "
- STRING008 = " " + Chr(181) + " " + Chr(181) + " " + Chr(181) + " @X0F" + Chr(181) + "@X08 " + Chr(68) + Chr(101) + "@X07" + Chr(97) + Chr(116) + Chr(104) + "@X0F" + Chr(39) + Chr(115) + Chr(32) + Chr(65) + Chr(78) + " " + Chr(84) + Chr(105) + Chr(45) + " " + Chr(68) + Chr(69) + Chr(67) + Chr(79) + Chr(77) + Chr(80) + Chr(105) + " " + Chr(76) + Chr(69) + Chr(32) + Chr(83) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Chr(32) + Chr(105) + Chr(110) + Chr(32) + Chr(69) + "@X07" + Chr(102) + Chr(102) + Chr(101) + "@X08" + Chr(99) + Chr(116) + Chr(33) + "@X0F " + Chr(198) + "@X07 " + Chr(32) + " " + Chr(33) + " " + Chr(99) + " "
- If (GrafMode() == "N") Then
- Goto LABEL084
- Endif
- STRING036 = ReadLine(PCBDat(), 28)
- STRING035 = ReadLine(PCBDat(), 29)
- STRING047 = Left(ReadLine(PPEPath() + "pchat.cfg", 1), 4)
- STRING048 = Left(ReadLine(PPEPath() + "pchat.cfg", 2), 4)
- STRING049 = Left(ReadLine(PPEPath() + "pchat.cfg", 3), 4)
- STRING050 = Left(ReadLine(PPEPath() + "pchat.cfg", 4), 4)
- STRING051 = ReadLine(PPEPath() + "pchat.cfg", 5)
- STRING052 = ReadLine(PPEPath() + "pchat.cfg", 6)
- STRING053 = ReadLine(PPEPath() + "pchat.cfg", 7)
- STRING054 = ReadLine(PPEPath() + "pchat.cfg", 8)
- STRING055 = ReadLine(PPEPath() + "pchat.cfg", 9)
- STRING056 = ReadLine(PPEPath() + "pchat.cfg", 10)
- STRING057 = ReadLine(PPEPath() + "pchat.cfg", 11)
- STRING058 = ReadLine(PPEPath() + "pchat.cfg", 12)
- STRING059 = ReadLine(PPEPath() + "pchat.cfg", 13)
- STRING060 = ReadLine(PPEPath() + "pchat.cfg", 14)
- STRING061 = ReadLine(PPEPath() + "pchat.cfg", 15)
- FClose -1
- STRING022 = STRING051
- STRING018 = STRING047
- STRING017 = STRING048
- INTEGER018 = 0
- INTEGER017 = 0
- INTEGER028 = 1
- INTEGER019 = 1
- BOOLEAN010 = 0
- BOOLEAN011 = 0
- BOOLEAN009 = 0
- BOOLEAN008 = 0
- BOOLEAN007 = 0
- BOOLEAN013 = 0
- BOOLEAN012 = 0
- INTEGER007 = 1
- INTEGER036 = 3
- INTEGER035 = 3
- INTEGER034 = 1
- INTEGER033 = 0
- INTEGER020 = 4
- INTEGER023 = 2
- INTEGER022 = 2
- INTEGER021 = 14
- INTEGER015 = MinLeft()
- STRING069 = " @X01P@X09e@X03r@X0Bf@X0Fect Cha@X0Bt@X03t@X09e@X01r @X0Bv@X091@X0F.@X091 @X07By @X0FIro@X0CnM@X04an@X07"
- INTEGER009 = Len(STRING069)
- STRING066 = " "
- For INTEGER010 = 1 To INTEGER009
- INTEGER011 = INTEGER011 + Asc(Mid(STRING069, INTEGER010, 1))
- Next
- INTEGER011 = INTEGER011 - 426
- If (INTEGER011 <> 7000) Then
- Cls
- AnsiPos 15, 11
- Print "@X0CSecurity Violation@X0F !!! @X07- @X04PPE HACK ATTEMPT!@X07"
- Delay 30
- End
- Endif
- FOpen 4, PPEPath() + "MACRO.LST", 2, 0
- :LABEL001
- If (Ferr(4)) Goto LABEL002
- FGet 4, TSTRING014(INTEGER007)
- FGet 4, TSTRING015(INTEGER007)
- Inc INTEGER007
- Goto LABEL001
- :LABEL002
- FClose 4
- While (INTEGER018 <> STRING053) Do
- Inc INTEGER018
- TSTRING064(INTEGER018) = Mid(STRING054, INTEGER019, 4)
- INTEGER019 = INTEGER019 + 5
- EndWhile
- INTEGER019 = 1
- While (INTEGER017 <> STRING055) Do
- Inc INTEGER017
- TSTRING065(INTEGER017) = Mid(STRING056, INTEGER019, 4)
- INTEGER019 = INTEGER019 + 5
- EndWhile
- INTEGER012 = GetX()
- INTEGER013 = GetY()
- For INTEGER014 = 1 To 23
- TSTRING016(INTEGER014) = ScrText(1, INTEGER014, 79, 1)
- Next
- StartDisp 1
- Cls
- Print STRING069 + "@X08/@X0AD@X02o@X0AD @X08[@X0FCTRL-W@X08] @X07Clr Window @X08[@X0FESC@X08] @X07Quit Chat"
- AnsiPos 1, 2
- Print "@X0F┌──@X07───@X08─@X07─@X08───────────────────────────────────────────────────────────────@X07─@X08─@X07───@X0F──┐@X07"
- AnsiPos 1, 3
- Print "@X07└──@X08─@X07─@X08───────────────────────────────────────────────────────────────────────@X07──┘"
- AnsiPos 1, 13
- Print "@X0F──@X07──@X08──[@X07REMARK: COLOR: @X08]───────────────────────────────────────────@X07──@X0F──"
- AnsiPos 8, 3
- If (Len(STRING022) < 17) Then
- Print "@X08[@X0F ", STRING049 + STRING022
- Else
- Print "@X08[@X0F ", STRING049 + Left(STRING022, 17)
- Endif
- Print "@X08 ]"
- AnsiPos 54, 13
- STRING027 = U_Name()
- If (STRING027 == "") Then
- STRING027 = "User"
- STRING028 = "User"
- Else
- STRING027 = Mixed(U_Name())
- STRING028 = STRING027
- Endif
- If (Len(STRING027) < 17) Then
- Print "@X08[@X0F ", STRING050 + STRING027
- Else
- Print "@X08[@X0F ", STRING050 + Left(STRING027, 17)
- Endif
- Print "@X08 ]"
- AnsiPos 1, 22
- Print "@X0F┌─@X07─@X0F─@X07───@X08─@X07─@X08────────────────────────────────────────────────────[@X07CTRL-Z@X08] @X07Help@X08───@X07─┐"
- AnsiPos 1, 23
- Print "@X07└──@X08─@X07─@X08───────────────────────────────────────────────────────────────────@X07─@X08─@X07──@X0F──┘"
- SPrint "6H"
- SPrint "[CAPTURE: OFF REMARK: OFF COLOR: OFF]"
- Print "7H"
- Print "[REMARK: OFF COLOR: OFF]"
- Print "@X07"
- AnsiPos INTEGER023, INTEGER020
- :LABEL003
- INTEGER016 = MinLeft()
- AdjTime INTEGER015 - INTEGER016
- If ((BOOLEAN013 == 1) && (BOOLEAN009 == 0)) Then
- STRING018 = TSTRING064(INTEGER018)
- Endif
- If ((INTEGER020 > 12) && (INTEGER023 < 78)) Then
- For INTEGER024 = 4 To 10
- AnsiPos 2, INTEGER024
- ClrEol
- Next
- Gosub LABEL081
- INTEGER023 = 2
- For INTEGER024 = 11 To 12
- AnsiPos 2, INTEGER024
- ClrEol
- Next
- AnsiPos INTEGER023, INTEGER020
- Goto LABEL003
- ElseIf ((INTEGER023 == 78) && (INTEGER020 == 12)) Then
- For INTEGER024 = 4 To 10
- AnsiPos 2, INTEGER024
- ClrEol
- Next
- Gosub LABEL081
- For INTEGER024 = 11 To 12
- AnsiPos 2, INTEGER024
- ClrEol
- Next
- AnsiPos INTEGER023 - Len(BIGSTR003) / 5, INTEGER020 - 1
- Print Space(Len(BIGSTR003) / 5)
- INTEGER023 = 2
- AnsiPos INTEGER023, INTEGER020
- Print BIGSTR003
- INTEGER023 = Len(BIGSTR003) / 5 + 2
- If (BOOLEAN011 == 1) Then
- FPutLn 1, "[" + STRING022 + "]: ", STRING062
- STRING062 = BIGSTR003
- Endif
- Goto LABEL003
- Endif
- STRING020 = KInkey()
- If (STRING020 == "") Goto LABEL067
- If (Len(STRING020) > 1) Goto LABEL003
- AnsiPos INTEGER023, INTEGER020
- If ((STRING020 == Chr(8)) && (INTEGER023 > 2)) Then
- STRING062 = Left(STRING062, Len(STRING062) - 1)
- BIGSTR003 = Left(BIGSTR003, Len(BIGSTR003) - 5)
- Print Chr(8) + Chr(32) + Chr(8)
- Dec INTEGER023
- Goto LABEL003
- Else
- If (STRING020 == Chr(8)) Goto LABEL003
- Endif
- If ((INTEGER023 == 78) && (STRING020 > Chr(27))) Then
- If (Len(BIGSTR003) < 78) Then
- AnsiPos INTEGER023 - Len(BIGSTR003) / 5, INTEGER020
- Print Space(Len(BIGSTR003) / 5)
- INTEGER023 = 2
- Inc INTEGER020
- AnsiPos INTEGER023, INTEGER020
- Print BIGSTR003
- INTEGER023 = Len(BIGSTR003) / 5 + 2
- Goto LABEL004
- Endif
- Inc INTEGER020
- INTEGER023 = 2
- AnsiPos INTEGER023, INTEGER020
- BIGSTR003 = ""
- :LABEL004
- If (BOOLEAN011 == 1) Then
- FPutLn 1, "[" + STRING022 + "]: ", STRING062
- STRING062 = BIGSTR003
- Endif
- Endif
- If (STRING020 == " ") Then
- Gosub LABEL005
- Goto LABEL010
- :LABEL005
- For INTEGER008 = 1 To INTEGER007
- If (Upper(TSTRING014(INTEGER008)) == Upper(StripAtx(BIGSTR003))) Then
- Backup Len(BIGSTR003) / 5
- If (INTEGER023 - Len(StripAtx(BIGSTR003)) + Len(TSTRING015(INTEGER008)) - 78 < 0) Then
- Gosub LABEL006
- STRING062 = Left(STRING062, Len(STRING062) - Len(StripAtx(BIGSTR003))) + TSTRING015(INTEGER008)
- Goto LABEL009
- Endif
- If (BOOLEAN011 == 1) Then
- STRING062 = Left(STRING062, Len(STRING062) - Len(StripAtx(BIGSTR003)))
- FPutLn 1, "[" + STRING022 + "]: ", STRING062
- STRING062 = TSTRING015(INTEGER008)
- Endif
- If (INTEGER020 < 12) Then
- Print Space(Len(BIGSTR003) / 5)
- INTEGER023 = Len(TSTRING015(INTEGER008)) + 2
- Inc INTEGER020
- AnsiPos 2, INTEGER020
- Gosub LABEL006
- Goto LABEL008
- :LABEL006
- If (BOOLEAN013 == 0) Then
- Print STRING018 + TSTRING015(INTEGER008)
- Goto LABEL007
- Endif
- STRING013 = ""
- For INTEGER005 = 1 To Len(TSTRING015(INTEGER008))
- STRING013 = STRING013 + TSTRING064(INTEGER018) + Mid(TSTRING015(INTEGER008), INTEGER005, 1)
- Inc INTEGER018
- If (INTEGER018 == S2I(STRING053, 10) + 1) INTEGER018 = 1
- Next
- Print STRING013
- :LABEL007
- Return
- :LABEL008
- Goto LABEL009
- Endif
- For INTEGER024 = 4 To 10
- AnsiPos 2, INTEGER024
- ClrEol
- Next
- Gosub LABEL081
- For INTEGER024 = 11 To 12
- AnsiPos 2, INTEGER024
- ClrEol
- Next
- AnsiPos INTEGER023 - Len(TSTRING014(INTEGER008)), INTEGER020 - 1
- Print Space(Len(TSTRING014(INTEGER008)))
- INTEGER023 = 2
- AnsiPos INTEGER023, INTEGER020
- Gosub LABEL006
- INTEGER023 = Len(TSTRING015(INTEGER008)) + 2
- If (BOOLEAN011 == 1) Then
- FPutLn 1, "[" + STRING022 + "]: ", STRING062
- STRING062 = BIGSTR003
- Endif
- :LABEL009
- INTEGER023 = INTEGER023 - Len(StripAtx(BIGSTR003)) + Len(TSTRING015(INTEGER008))
- Break
- Endif
- Next
- Return
- :LABEL010
- BIGSTR003 = ""
- Print STRING018 + STRING020
- STRING062 = STRING062 + STRING020
- Inc INTEGER023
- Goto LABEL003
- Endif
- If (STRING020 > Chr(27)) Then
- Print STRING018 + STRING020
- STRING062 = STRING062 + STRING020
- BIGSTR003 = BIGSTR003 + STRING018 + STRING020
- Inc INTEGER023
- Endif
- If (BOOLEAN013 == 1) Then
- If (INTEGER018 == STRING053) Then
- INTEGER018 = 1
- Goto LABEL011
- Endif
- Inc INTEGER018
- Endif
- :LABEL011
- If (STRING020 < Chr(28)) Then
- If (STRING020 == Chr(27)) Then
- If (BOOLEAN011 == 1) Then
- If (STRING062 <> "") Then
- FPutLn 1, "[" + STRING022 + "]: ", STRING062
- Endif
- FPutLn 1
- FPut 1, " φ PerfectChat Capture ended at "
- FPut 1, Date()
- FPut 1, " "
- FPut 1, Time()
- FPut 1, " with "
- FPutLn 1, STRING027 + " φ"
- FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
- FPutLn 1, " [Perfect Chatter v1.1 By IronMan]"
- FPutLn 1
- FClose 1
- Endif
- Goto LABEL084
- Endif
- If (STRING020 == Chr(26)) Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- AnsiPos 36, 3
- Print "@X08───────────────────────────────────────"
- AnsiPos 79, 23
- SaveScrn
- MPrint "23H"
- MPrint "┤Sysop Viewing Help File├"
- AnsiPos INTEGER026, INTEGER027
- SPrint "0H"
- SPrint "┌────────────────────────┐"
- SPrint "0H"
- SPrint "│ ▄ ▄ ▄▄ ▄ ▄▄▄ █▌ │"
- SPrint "0H"
- SPrint "│ █▄█ █▄ █▌ █▄█ █▌ │"
- SPrint "0H"
- SPrint "│ █▌█ █▄ █▄ █▌ ▀ │"
- SPrint "30H"
- SPrint "│ ═──═─═──═──═──══ ▀ ═─ │"
- SPrint "30H"
- SPrint "│ [CTRL-W] Clear Screen │"
- SPrint "30H"
- SPrint "│ [CTRL-O] Change Color │"
- SPrint "30H"
- SPrint "│ [CTRL-E] Remark Words │"
- SPrint "30H"
- SPrint "│ [CTRL-G] Beep User │"
- SPrint "30H"
- SPrint "│ [CTRL-C] Log Chat │"
- SPrint "30H"
- SPrint "│ [CTRL-L] Lock Keys │"
- SPrint "30H"
- SPrint "│ [CTRL-T] View Text │"
- SPrint "30H"
- SPrint "│ [CTRL-U] User Edit │"
- SPrint "30H"
- SPrint "│ [ESC] Quit Chat │"
- SPrint "30H"
- SPrint "└────────────────────────┘"
- :LABEL012
- STRING067 = KInkey()
- If ((STRING067 <> Chr(13)) && (STRING067 <> " ")) Goto LABEL012
- Cls
- RestScrn
- Gosub LABEL083
- AnsiPos INTEGER023, INTEGER020
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(15)) Then
- AnsiPos INTEGER023, INTEGER020
- If ((BOOLEAN013 == 0) && (BOOLEAN009 == 0)) Then
- BOOLEAN013 = 1
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- SPrint "1H"
- SPrint "ON "
- AnsiPos INTEGER026, INTEGER027
- Goto LABEL013
- Endif
- If ((BOOLEAN013 == 1) && (BOOLEAN009 == 0)) Then
- BOOLEAN013 = 0
- STRING018 = STRING047
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- SPrint "1H"
- SPrint "OFF"
- AnsiPos INTEGER026, INTEGER027
- Endif
- :LABEL013
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(21)) Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- AnsiPos 36, 3
- Print "@X08───────────────────────────────────────"
- AnsiPos 79, 23
- SaveScrn
- MPrint "25H"
- MPrint "┤ Wait a Sec..├"
- SPrint "H"
- SPrint " Edit User Record Record of "
- SPrint "H"
- SPrint " ┌───────────┬──────────────────────────┬─────────────────┬───────────────────┐ "
- SPrint "H"
- SPrint " │Name │ │Last DIR List │ │ "
- SPrint "H"
- SPrint " │City │ │Last Date On │ │ "
- SPrint "H"
- SPrint " │B/D Phone │ │Last Time On │ │ "
- SPrint "H"
- SPrint " │H/V Phone │ │Elpased Time On │ │ "
- SPrint "H"
- SPrint " │Password │ │Number Times On │ │ "
- SPrint "H"
- SPrint " │Security │ │Number Uploads │ │ "
- SPrint "H"
- SPrint " │Expert │ │Number Downloads │ │ "
- SPrint "1H"
- SPrint " │Protocol │ │Daily Download │ │ "
- SPrint "1H"
- SPrint " │Page Len │ │Total Upload │ │ "
- SPrint "1H"
- SPrint " │Reg Ex Date│ │Total Download │ │ "
- SPrint "1H"
- SPrint " │Expired Sec│ │Messages Read │ │ "
- SPrint "1H"
- SPrint " │Msg Clear │ │Messages Left │ │ "
- SPrint "1H"
- SPrint " │Last in │ │Full Scrn Editor │ │ "
- SPrint "1H"
- SPrint " │Delete User│ │79-Column Editor │ │ "
- SPrint "1H"
- SPrint " ├───────────┤ │Scroll Long Msgs │ │ "
- SPrint "1H"
- SPrint " │ Comment-1 │ │Long Headers │ │ "
- SPrint "1H"
- SPrint " │ Comment-2 │ │Chat Status │ │ "
- SPrint "1H"
- SPrint " └───────────┴──────────────────────────┴─────────────────┴───────────────────┘ "
- SPrint "1H"
- SPrint ""
- SPrint "1H"
- SPrint "[ESC] Exit [TAB] Switch Window [ D─ D] Jump 1 [PgDn/PgUp] Jump 10 [S] Search User"
- SPrint "1H"
- SPrint ""
- INTEGER037 = U_RecNum(U_Name())
- INTEGER040 = INTEGER037
- INTEGER038 = FileInf(ReadLine(PCBDat(), 29), 4) / 400
- AnsiPos 75, 1
- SPrint "", INTEGER038
- AnsiPos 3, 3
- For INTEGER039 = 3 To 19
- TSTRING045(INTEGER039) = ScrText(42, INTEGER039, 17, 0)
- Next
- For INTEGER039 = 3 To 19
- TSTRING046(INTEGER039) = ScrText(42, INTEGER039, 17, 0)
- Next
- For INTEGER039 = 3 To 19
- TSTRING043(INTEGER039) = ScrText(3, INTEGER039, 11, 0)
- Next
- For INTEGER039 = 3 To 19
- TSTRING044(INTEGER039) = ScrText(3, INTEGER039, 11, 0)
- Next
- :LABEL014
- AnsiPos 68, 1
- INTEGER031 = 3 - Len(INTEGER037)
- SPrint "", INTEGER037
- SPrint Space(INTEGER031)
- GetAltUser INTEGER037
- AnsiPos 16, 3
- INTEGER030 = 25 - Len(U_Name())
- SPrint "", U_Name()
- SPrint Space(INTEGER030)
- AnsiPos 16, 4
- INTEGER030 = 25 - Len(U_City)
- SPrint U_City + Space(INTEGER030)
- AnsiPos 16, 5
- INTEGER030 = 25 - Len(U_BDPhone)
- SPrint U_BDPhone + Space(INTEGER030)
- AnsiPos 16, 6
- INTEGER030 = 25 - Len(U_HVPhone)
- SPrint U_HVPhone + Space(INTEGER030)
- AnsiPos 16, 7
- INTEGER030 = 25 - Len(U_Pwd)
- SPrint U_Pwd + Space(INTEGER030)
- AnsiPos 16, 8
- INTEGER030 = 25 - Len(U_Sec)
- SPrint U_Sec
- SPrint Space(INTEGER030)
- AnsiPos 16, 9
- INTEGER030 = 25 - Len(U_Expert)
- If (U_Expert == 0) Then
- SPrint "N" + Space(INTEGER030)
- Goto LABEL015
- Endif
- SPrint "Y" + Space(INTEGER030)
- :LABEL015
- AnsiPos 16, 10
- INTEGER030 = 25 - Len(U_Trans)
- SPrint U_Trans + Space(INTEGER030)
- AnsiPos 16, 11
- INTEGER030 = 25 - Len(U_PageLen)
- SPrint U_PageLen
- SPrint Space(INTEGER030)
- AnsiPos 16, 12
- INTEGER030 = 25 - Len(U_ExpDate)
- SPrint U_ExpDate
- SPrint Space(INTEGER030)
- AnsiPos 16, 13
- INTEGER030 = 25 - Len(U_ExpSec)
- SPrint U_ExpSec
- SPrint Space(INTEGER030)
- AnsiPos 16, 14
- INTEGER030 = 25 - Len(U_Cls)
- If (U_Cls == 0) Then
- SPrint "N" + Space(INTEGER030)
- Goto LABEL016
- Endif
- SPrint "Y" + Space(INTEGER030)
- :LABEL016
- AnsiPos 16, 15
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1) + 192, 0
- FRead 1, STRING038, 1
- FClose 1
- SPrint Asc(STRING038)
- SPrint Space(24)
- AnsiPos 16, 16
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1) + 224, 0
- FRead 1, STRING037, 1
- FClose 1
- SPrint STRING037
- SPrint Space(24)
- AnsiPos 16, 18
- INTEGER030 = Len(U_Cmnt1)
- SPrint Left(U_Cmnt1, INTEGER030 - 6)
- SPrint Space(1)
- AnsiPos 16, 19
- INTEGER030 = Len(U_Cmnt2)
- SPrint Left(U_Cmnt2, INTEGER030 - 6)
- AnsiPos 61, 3
- INTEGER030 = 17 - Len(U_LDir())
- SPrint U_LDir()
- SPrint Space(INTEGER030)
- AnsiPos 61, 4
- INTEGER030 = 17 - Len(U_LDate())
- SPrint U_LDate()
- SPrint Space(INTEGER030)
- AnsiPos 61, 5
- INTEGER030 = 17 - Len(U_LTime())
- SPrint U_LTime()
- SPrint Space(INTEGER030)
- AnsiPos 61, 6
- SPrint Space(17)
- AnsiPos 61, 7
- INTEGER030 = 17 - Len(U_Logons())
- SPrint U_Logons()
- SPrint Space(INTEGER030)
- AnsiPos 61, 8
- INTEGER030 = 17 - Len(U_Ful())
- SPrint U_Ful()
- SPrint Space(INTEGER030)
- AnsiPos 61, 9
- INTEGER030 = 17 - Len(U_Fdl())
- SPrint U_Fdl()
- SPrint Space(INTEGER030)
- AnsiPos 61, 10
- INTEGER030 = 17 - Len(U_BdlDay())
- SPrint U_BdlDay()
- SPrint Space(INTEGER030)
- AnsiPos 61, 11
- INTEGER030 = 17 - Len(U_Bul())
- SPrint U_Bul()
- SPrint Space(INTEGER030)
- AnsiPos 61, 12
- INTEGER030 = 17 - Len(U_Bdl())
- SPrint U_Bdl()
- SPrint Space(INTEGER030)
- AnsiPos 61, 13
- If (INTEGER037 == INTEGER040) Then
- INTEGER030 = 17 - Len(U_MsgRd())
- SPrint U_MsgRd()
- SPrint Space(INTEGER030)
- Goto LABEL017
- Endif
- SPrint "NOT AVAILBLE"
- SPrint Space(5)
- :LABEL017
- AnsiPos 61, 14
- If (INTEGER037 == INTEGER040) Then
- INTEGER030 = 17 - Len(U_MsgWr())
- SPrint U_MsgWr()
- SPrint Space(INTEGER030)
- Goto LABEL018
- Endif
- SPrint "NOT AVAILBLE"
- SPrint Space(5)
- :LABEL018
- AnsiPos 61, 15
- INTEGER030 = 17 - Len(U_FSE)
- If (U_FSE == 0) Then
- SPrint "N"
- Goto LABEL019
- Endif
- SPrint "Y"
- :LABEL019
- SPrint Space(INTEGER030)
- AnsiPos 61, 16
- INTEGER030 = 17 - Len(U_Def79)
- If (U_Def79 == 0) Then
- SPrint "N"
- Goto LABEL020
- Endif
- SPrint "Y"
- :LABEL020
- SPrint Space(INTEGER030)
- AnsiPos 61, 17
- INTEGER030 = 17 - Len(U_Scroll)
- If (U_Scroll == 0) Then
- SPrint "N"
- Goto LABEL021
- Endif
- SPrint "Y"
- :LABEL021
- SPrint Space(INTEGER030)
- AnsiPos 61, 18
- INTEGER030 = 17 - Len(U_LongHDR)
- If (U_LongHDR == 0) Then
- SPrint "N"
- Goto LABEL022
- Endif
- SPrint "Y"
- :LABEL022
- SPrint Space(INTEGER030)
- AnsiPos 61, 19
- INTEGER030 = 17 - Len(ChatStat())
- If (ChatStat() == 0) Then
- SPrint "U"
- Goto LABEL023
- Endif
- SPrint "A"
- :LABEL023
- SPrint Space(INTEGER030)
- :LABEL024
- STRING029 = ""
- STRING029 = KInkey()
- If (STRING029 == "") Goto LABEL024
- If (Upper(STRING029) == "S") Then
- INTEGER034 = 1
- STRING042 = ""
- SPrint "20H"
- SPrint "User Name: "
- :LABEL025
- STRING041 = KInkey()
- If (STRING041 == "") Goto LABEL025
- If ((STRING041 == Chr(13)) && (STRING042 == "")) Goto LABEL024
- If ((STRING041 == Chr(13)) && (STRING042 <> "")) Goto LABEL028
- If (STRING041 == Chr(8)) Then
- If (INTEGER034 > 1) Then
- SPrint Chr(8)
- SPrint " "
- SPrint Chr(8)
- Dec INTEGER034
- STRING042 = Left(STRING042, INTEGER034 - 1)
- Goto LABEL026
- Endif
- Sound 250
- Delay 1
- Sound 0
- Goto LABEL025
- :LABEL026
- Goto LABEL025
- Endif
- If ((INTEGER034 < 26) && (INTEGER034 >= 1)) Then
- SPrint "", STRING041
- Inc INTEGER034
- STRING042 = STRING042 + STRING041
- Goto LABEL027
- Endif
- Sound 250
- Delay 1
- Sound 0
- Goto LABEL025
- :LABEL027
- Goto LABEL025
- :LABEL028
- If (U_RecNum(Upper(STRING042)) >= 0) INTEGER037 = U_RecNum(Upper(STRING042))
- SPrint "1H"
- SPrint ""
- Goto LABEL014
- Endif
- If (STRING029 == "PGUP") Then
- INTEGER032 = INTEGER037 - 10
- If (INTEGER037 < 10) Then
- INTEGER037 = INTEGER038 + INTEGER032
- Goto LABEL029
- Endif
- INTEGER037 = INTEGER037 - 10
- :LABEL029
- Goto LABEL014
- Endif
- If (STRING029 == "PGDN") Then
- INTEGER032 = INTEGER038 - INTEGER037
- If (INTEGER032 < 10) Then
- INTEGER037 = 10 - INTEGER032
- Goto LABEL030
- Endif
- INTEGER037 = INTEGER037 + 10
- :LABEL030
- Goto LABEL014
- Endif
- If (STRING029 == "RIGHT") Then
- If (INTEGER037 == INTEGER038) Then
- INTEGER037 = 1
- Goto LABEL031
- Endif
- Inc INTEGER037
- :LABEL031
- Goto LABEL014
- Endif
- If (STRING029 == "LEFT") Then
- If (INTEGER037 == 1) Then
- INTEGER037 = INTEGER038
- Goto LABEL032
- Endif
- Dec INTEGER037
- :LABEL032
- Goto LABEL014
- Endif
- If (STRING029 == Chr(9)) Then
- If (BOOLEAN007 == 0) Then
- AnsiPos INTEGER035, INTEGER036
- SPrint "", TSTRING043(INTEGER036)
- INTEGER035 = 42
- BOOLEAN007 = 1
- AnsiPos INTEGER035, INTEGER036
- SPrint "", TSTRING045(INTEGER036)
- Goto LABEL033
- Endif
- AnsiPos INTEGER035, INTEGER036
- SPrint "", TSTRING045(INTEGER036)
- INTEGER035 = 3
- BOOLEAN007 = 0
- AnsiPos INTEGER035, INTEGER036
- SPrint "", TSTRING043(INTEGER036)
- Endif
- :LABEL033
- If ((Upper(STRING029) == "DOWN") && (INTEGER036 < 19)) Then
- If ((INTEGER036 == 16) && (INTEGER035 == 3)) Then
- INTEGER036 = 18
- AnsiPos INTEGER035, INTEGER036 - 2
- SPrint "", TSTRING043(INTEGER036 - 2)
- Goto LABEL034
- Endif
- Inc INTEGER036
- AnsiPos INTEGER035, INTEGER036 - 1
- If (BOOLEAN007 == 0) Then
- SPrint "", TSTRING043(INTEGER036 - 1)
- Goto LABEL034
- Endif
- SPrint "", TSTRING045(INTEGER036 - 1)
- :LABEL034
- AnsiPos INTEGER035, INTEGER036
- If (BOOLEAN007 == 0) Then
- SPrint "", TSTRING044(INTEGER036)
- Goto LABEL035
- Endif
- SPrint "", TSTRING046(INTEGER036)
- Endif
- :LABEL035
- If ((STRING029 == "UP") && (INTEGER036 > 3)) Then
- If ((INTEGER036 == 18) && (INTEGER035 == 3)) Then
- INTEGER036 = 16
- AnsiPos INTEGER035, INTEGER036 + 2
- SPrint "", TSTRING043(INTEGER036 + 2)
- Goto LABEL036
- Endif
- Dec INTEGER036
- AnsiPos INTEGER035, INTEGER036 + 1
- If (BOOLEAN007 == 0) Then
- SPrint "", TSTRING043(INTEGER036 + 1)
- Goto LABEL036
- Endif
- SPrint "", TSTRING045(INTEGER036 + 1)
- :LABEL036
- AnsiPos INTEGER035, INTEGER036
- If (BOOLEAN007 == 0) Then
- SPrint "", TSTRING044(INTEGER036)
- Goto LABEL037
- Endif
- SPrint "", TSTRING046(INTEGER036)
- Endif
- :LABEL037
- If ((Upper(STRING029) == "A") && (INTEGER036 > 3)) Then
- If ((INTEGER036 == 18) && (INTEGER035 == 3)) Then
- INTEGER036 = 16
- AnsiPos INTEGER035, INTEGER036 + 2
- SPrint "", TSTRING043(INTEGER036 + 2)
- Goto LABEL038
- Endif
- Dec INTEGER036
- AnsiPos INTEGER035, INTEGER036 + 1
- If (BOOLEAN007 == 0) Then
- SPrint "", TSTRING043(INTEGER036 + 1)
- Goto LABEL038
- Endif
- SPrint "", TSTRING045(INTEGER036 + 1)
- :LABEL038
- AnsiPos INTEGER035, INTEGER036
- If (BOOLEAN007 == 0) Then
- SPrint "", TSTRING044(INTEGER036)
- Goto LABEL039
- Endif
- SPrint "", TSTRING046(INTEGER036)
- Endif
- :LABEL039
- If (STRING029 == Chr(13)) Then
- Gosub LABEL040
- Goto LABEL014
- Endif
- If (Upper(STRING029) == Chr(27)) Goto LABEL051
- Goto LABEL024
- :LABEL040
- If (INTEGER035 == 3) Then
- AnsiPos INTEGER035 + 13, INTEGER036
- SPrint Space(25)
- AnsiPos INTEGER035 + 13, INTEGER036
- STRING040 = ""
- STRING039 = ""
- INTEGER033 = 1
- If (INTEGER036 <> 3) Then
- Gosub LABEL046
- Goto LABEL041
- Endif
- SPrint "NOT AVAILBLE YET "
- Delay 15
- Goto LABEL045
- :LABEL041
- If (STRING040 == "") Goto LABEL045
- If (INTEGER036 == 3) Then
- FOpen 5, PPEPath() + "user.inf", 2, 0
- FSeek 5, 10, 0
- FRead 5, WORD001, 2
- FRead 5, INTEGER004, 4
- FSeek 5, WORD001 * 34 + 16, 0
- FSeek 5, (INTEGER037 - 1) * INTEGER004, 1
- BIGSTR001 = STRING040 + Chr(0)
- FWrite 5, Mid(BIGSTR001, 1, 25), 25
- FClose 5
- STRING030 = Chr(INTEGER037)
- If (Len(STRING030) == 1) STRING030 = STRING030 + " "
- STRING033 = Left(U_Name(), 1)
- STRING034 = Left(STRING040, 1)
- FOpen 4, STRING036 + "pcbndx.tmp", 2, 0
- FOpen 3, STRING036 + "pcbndx." + STRING033, 2, 0
- FSeek 3, 0, 0
- :LABEL042
- If (Ferr(3)) Goto LABEL043
- FRead 3, STRING031, 2
- FRead 3, STRING032, 25
- STRING031 = STRING031 + " "
- If (STRING031 <> STRING030) Then
- FWrite 4, STRING031, 2
- FWrite 4, STRING032 + " ", 25
- Endif
- Goto LABEL042
- :LABEL043
- FClose 3
- FClose 4
- Delete STRING036 + "pcbndx." + STRING033
- Rename STRING036 + "pcbndx.tmp", STRING036 + "pcbndx." + STRING033
- FOpen 2, STRING036 + "pcbndx." + STRING034, 2, 0
- FSeek 2, 0, 2
- FWrite 2, STRING030 + STRING040 + " ", 27
- FClose 2
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1), 0
- FWrite 1, STRING040 + " ", 25
- FClose 1
- Endif
- If (INTEGER036 == 4) U_City = STRING040
- If (INTEGER036 == 5) U_BDPhone = STRING040
- If (INTEGER036 == 6) U_HVPhone = STRING040
- If (INTEGER036 == 7) U_Pwd = STRING040
- If (INTEGER036 == 8) Then
- STRING040 = Left(STRING040, 3)
- If (STRING040 > 255) STRING040 = 255
- U_Sec = STRING040
- Endif
- If (INTEGER036 == 9) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") STRING040 = 1
- If (STRING040 == "N") STRING040 = 0
- U_Expert = STRING040
- Endif
- If (INTEGER036 == 10) Then
- STRING040 = Upper(Left(STRING040, 1))
- U_Trans = STRING040
- Endif
- If (INTEGER036 == 11) Then
- STRING040 = Left(STRING040, 3)
- If (STRING040 > 255) STRING040 = 255
- U_PageLen = STRING040
- Endif
- If (INTEGER036 == 12) U_ExpDate = STRING040
- If (INTEGER036 == 13) Then
- STRING040 = Left(STRING040, 3)
- If (STRING040 > 255) STRING040 = 255
- U_ExpSec = STRING040
- Endif
- If (INTEGER036 == 14) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") STRING040 = 1
- If (STRING040 == "N") STRING040 = 0
- U_Cls = STRING040
- Endif
- If (INTEGER036 == 15) Then
- If (STRING040 <> "") Then
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1) + 192, 0
- FWrite 1, Chr(STRING040), 1
- FClose 1
- Endif
- Endif
- If (INTEGER036 == 16) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") Then
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1) + 224, 0
- FWrite 1, "Y", 1
- U_Sec = 0
- Endif
- If (STRING040 == "N") Then
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1) + 224, 0
- FWrite 1, "N", 1
- Endif
- FClose 1
- Endif
- If (INTEGER036 == 18) U_Cmnt1 = STRING040
- If (INTEGER036 == 19) U_Cmnt2 = STRING040
- PutUser
- Endif
- If (INTEGER035 == 42) Then
- AnsiPos INTEGER035 + 19, INTEGER036
- SPrint Space(17)
- AnsiPos INTEGER035 + 19, INTEGER036
- STRING040 = ""
- STRING039 = ""
- INTEGER033 = 1
- If ((((((((((INTEGER036 <> 3) && (INTEGER036 <> 4)) && (INTEGER036 <> 5)) && (INTEGER036 <> 6)) && (INTEGER036 <> 7)) && (INTEGER036 <> 8)) && (INTEGER036 <> 11)) && (INTEGER036 <> 13)) && (INTEGER036 <> 14)) && (INTEGER036 <> 19)) Then
- Gosub LABEL046
- Goto LABEL044
- Endif
- SPrint "NOT AVAILBLE YET "
- Delay 15
- Goto LABEL045
- :LABEL044
- If (STRING040 == "") Goto LABEL045
- If (INTEGER036 == 9) Then
- INTEGER041 = STRING040 - U_Fdl()
- AdjTFiles INTEGER041
- Endif
- If (INTEGER036 == 10) Then
- INTEGER043 = STRING040 - U_BdlDay()
- AdjBytes INTEGER043
- Endif
- If (INTEGER036 == 12) Then
- INTEGER042 = STRING040 - U_Bdl()
- AdjTBytes INTEGER042
- Endif
- If (INTEGER036 == 15) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") U_FSE = 1
- If (STRING040 == "N") U_FSE = 0
- Endif
- If (INTEGER036 == 16) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") U_Def79 = 1
- If (STRING040 == "N") U_Def79 = 0
- Endif
- If (INTEGER036 == 17) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") U_Scroll = 1
- If (STRING040 == "N") U_Scroll = 0
- Endif
- If (INTEGER036 == 18) Then
- STRING040 = Upper(Left(STRING040, 1))
- If (STRING040 == "Y") U_LongHDR = 1
- If (STRING040 == "N") U_LongHDR = 0
- Endif
- If (INTEGER036 == 19) Then
- STRING040 = Upper(Left(STRING040, 1))
- FOpen 1, STRING035, 2, 0
- FSeek 1, 400 * (INTEGER037 - 1) + 389, 0
- FRead 1, STRING019, 1
- BitSet STRING019, 0
- If (STRING040 == "U") STRING019 = 0
- If (STRING040 == "A") STRING019 = 1
- FSeek 1, 400 * (INTEGER037 - 1) + 389, 0
- FWrite 1, STRING019, 1
- FClose 1
- Goto LABEL014
- Endif
- PutUser
- Endif
- :LABEL045
- Return
- :LABEL046
- STRING039 = KInkey()
- If (STRING039 == "") Goto LABEL046
- If (STRING039 == Chr(13)) Goto LABEL050
- If (STRING039 == Chr(8)) Then
- If (INTEGER033 > 1) Then
- SPrint Chr(8)
- SPrint " "
- SPrint Chr(8)
- Dec INTEGER033
- STRING040 = Left(STRING040, INTEGER033 - 1)
- Goto LABEL047
- Endif
- Sound 250
- Delay 1
- Sound 0
- Goto LABEL046
- :LABEL047
- Goto LABEL046
- Endif
- If (BOOLEAN007 == 0) Then
- If ((INTEGER033 < 26) && (INTEGER033 >= 1)) Then
- SPrint "", STRING039
- Inc INTEGER033
- STRING040 = STRING040 + STRING039
- Goto LABEL048
- Endif
- Sound 250
- Delay 1
- Sound 0
- Goto LABEL046
- :LABEL048
- Goto LABEL049
- Endif
- If ((INTEGER033 < 18) && (INTEGER033 >= 1)) Then
- SPrint STRING039
- STRING040 = STRING040 + STRING039
- Goto LABEL049
- Endif
- Sound 250
- Delay 1
- Sound 0
- :LABEL049
- Goto LABEL046
- :LABEL050
- Return
- :LABEL051
- Print "@X07"
- Cls
- RestScrn
- Gosub LABEL083
- AnsiPos INTEGER026, INTEGER027
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(7)) Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- MPrint Chr(7) + Chr(7)
- SPrint "30H"
- SPrint "┤Beeped User!├"
- Delay 3
- SPrint "30H"
- SPrint "────────────────────"
- AnsiPos INTEGER026, INTEGER027
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(12)) Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- If (BOOLEAN010 == 0) Then
- SPrint "4H"
- SPrint "[]"
- BOOLEAN010 = 1
- If (Upper(STRING059) == "YES") Then
- For INTEGER025 = 14 To 21
- AnsiPos 1, INTEGER025
- ClrEol
- Next
- INTEGER021 = 14
- INTEGER022 = 2
- Print "24H"
- Print "┌────────────────────────┐"
- Print "24H"
- Print "│ Sysop Locked Your Keys │"
- Print "24H"
- Print "└────────────────────────┘"
- AnsiPos INTEGER026, INTEGER027
- Endif
- Goto LABEL052
- Endif
- SPrint "4H"
- SPrint "───"
- BOOLEAN010 = 0
- If (Upper(STRING059) == "YES") Then
- Print "20H"
- Print ""
- Print "20H"
- Print ""
- Print "20H"
- Print ""
- Endif
- AnsiPos INTEGER026, INTEGER027
- Print STRING017
- :LABEL052
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(5)) Then
- AnsiPos INTEGER023, INTEGER020
- If ((BOOLEAN009 == 0) && (BOOLEAN013 == 0)) Then
- BOOLEAN009 = 1
- STRING018 = Mid(STRING057, 1, 4)
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- SPrint "9H"
- SPrint "ON "
- AnsiPos INTEGER026, INTEGER027
- Goto LABEL053
- Endif
- BOOLEAN009 = 0
- STRING018 = STRING047
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- SPrint "9H"
- SPrint "OFF"
- AnsiPos INTEGER026, INTEGER027
- :LABEL053
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(3)) Then
- If (BOOLEAN011 == 0) Then
- INTEGER027 = GetY()
- INTEGER026 = GetX()
- If (Upper(STRING060) == "MANUAL") Then
- AnsiPos 36, 3
- Print "@X08───────────────────────────────────────"
- AnsiPos 79, 23
- SaveScrn
- AnsiPos INTEGER026, INTEGER027
- MPrint "25H"
- MPrint "┤ Wait a Sec..├"
- SPrint "11H"
- SPrint "┌────────────────────────────────────────────┐"
- SPrint "11H"
- SPrint "│ Name of CapC│"
- SPrint "11H"
- SPrint "│ File to Open: ████████████████████████████ │"
- SPrint "11H"
- SPrint "│ (With Path)C│"
- SPrint "11H"
- SPrint "└────────────────────────────────────────────┘"
- SPrint "27H"
- SPrint ""
- INTEGER029 = 1
- :LABEL054
- STRING023 = KInkey()
- If (STRING023 == "") Goto LABEL054
- If (STRING023 == Chr(13)) Goto LABEL056
- If (STRING023 == Chr(8)) Then
- If (INTEGER029 > 1) Then
- SPrint Chr(8)
- Print " "
- SPrint Chr(8)
- Dec INTEGER029
- STRING024 = Left(STRING024, INTEGER029 - 1)
- Goto LABEL055
- Endif
- Sound 150
- Delay 0
- Sound 0
- :LABEL055
- Goto LABEL054
- Endif
- If (INTEGER029 == 29) Then
- Sound 150
- Delay 1
- Sound 0
- Goto LABEL054
- Endif
- If ((STRING023 <> Chr(13)) && (INTEGER029 < 29)) Then
- SPrint "" + STRING023
- STRING024 = STRING024 + STRING023
- Inc INTEGER029
- Goto LABEL054
- Endif
- :LABEL056
- If (STRING024 <> "") Then
- BOOLEAN011 = 1
- If (Exist(STRING024)) Goto LABEL057
- FCreate 1, STRING024, 2, 0
- Goto LABEL058
- :LABEL057
- FAppend 1, STRING024, 2, 0
- :LABEL058
- FPutLn 1
- FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
- FPut 1, " φ PerfectChat Capture started at "
- FPut 1, Date()
- FPut 1, " "
- FPut 1, Time()
- FPut 1, " with "
- FPutLn 1, STRING027 + " φ"
- FPutLn 1
- Endif
- Print "@X07"
- RestScrn
- Goto LABEL061
- Endif
- BOOLEAN011 = 1
- If (Exist(STRING060)) Goto LABEL059
- FCreate 1, STRING060, 2, 0
- Goto LABEL060
- :LABEL059
- FAppend 1, STRING060, 2, 0
- :LABEL060
- FPutLn 1
- FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
- FPut 1, " φ PerfectChat Capture started at "
- FPut 1, Date()
- FPut 1, " "
- FPut 1, Time()
- FPut 1, " with "
- FPutLn 1, STRING027 + " φ"
- FPutLn 1
- :LABEL061
- Gosub LABEL083
- AnsiPos INTEGER026, INTEGER027
- Goto LABEL062
- Endif
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- BOOLEAN011 = 0
- FPutLn 1
- FPut 1, " φ PerfectChat Capture ended at "
- FPut 1, Date()
- FPut 1, " "
- FPut 1, Time()
- FPut 1, " with "
- FPutLn 1, STRING027 + " φ"
- FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
- FPutLn 1, " [Perfect Chatter v1.1 By IronMan]"
- FPutLn 1
- FClose 1
- Gosub LABEL083
- AnsiPos INTEGER026, INTEGER027
- :LABEL062
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(20)) Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- AnsiPos INTEGER026, INTEGER027
- AnsiPos 36, 3
- Print "@X08───────────────────────────────────────"
- AnsiPos 79, 23
- SaveScrn
- AnsiPos INTEGER026, INTEGER027
- MPrint "25H"
- MPrint "┤ Wait a Sec..├"
- SPrint "11H"
- SPrint "┌────────────────────────────────────────────┐"
- SPrint "11H"
- SPrint "│ C│"
- SPrint "11H"
- SPrint "│ File to View: ████████████████████████████ │"
- SPrint "11H"
- SPrint "│ C│"
- SPrint "11H"
- SPrint "└────────────────────────────────────────────┘"
- SPrint "27H"
- SPrint ""
- INTEGER028 = 1
- :LABEL063
- STRING025 = KInkey()
- If (STRING025 == "") Goto LABEL063
- If (STRING025 == Chr(13)) Goto LABEL065
- If (STRING025 == Chr(8)) Then
- If (INTEGER028 > 1) Then
- SPrint Chr(8)
- Print " "
- SPrint Chr(8)
- Dec INTEGER028
- STRING026 = Left(STRING026, INTEGER028 - 1)
- Goto LABEL064
- Endif
- Sound 150
- Delay 0
- Sound 0
- :LABEL064
- Goto LABEL063
- Endif
- If (INTEGER028 == 29) Then
- Sound 150
- Delay 1
- Sound 0
- Goto LABEL063
- Endif
- If ((STRING025 <> Chr(13)) && (INTEGER028 < 29)) Then
- SPrint "" + STRING025
- STRING026 = STRING026 + STRING025
- Inc INTEGER028
- Goto LABEL063
- Endif
- :LABEL065
- If (STRING026 <> "") Then
- If (Exist(STRING026)) Then
- Print "@X07"
- StartDisp 2
- Cls
- Newlines 3
- PrintLn " @X08<──────────-> @X0FVIEWING FILE @X08<────────────>"
- Newlines 2
- DispStr "%" + STRING026
- Newlines 3
- PrintLn " @X08<──────────-> @X0FEnd Of File! @X08<────────────>"
- Newlines 2
- Wait
- StartDisp 1
- Goto LABEL066
- Endif
- SPrint "31H"
- SPrint "File Not found"
- Endif
- :LABEL066
- Print "@X07"
- RestScrn
- Gosub LABEL083
- STRING026 = ""
- INTEGER028 = 1
- AnsiPos INTEGER026, INTEGER027
- STRING020 = ""
- Goto LABEL003
- Endif
- If (STRING020 == Chr(23)) Then
- For INTEGER024 = 4 To 12
- AnsiPos 1, INTEGER024
- ClrEol
- Next
- INTEGER020 = 4
- INTEGER023 = 2
- AnsiPos INTEGER023, INTEGER020
- Goto LABEL003
- Endif
- If (STRING020 == Chr(13)) Then
- Gosub LABEL005
- Inc INTEGER020
- INTEGER023 = 2
- AnsiPos INTEGER023, INTEGER020
- If ((BOOLEAN011 == 1) && (STRING062 <> "")) FPutLn 1, "[" + STRING022 + "]: " + STRING062
- STRING062 = ""
- BIGSTR003 = ""
- Endif
- Endif
- Goto LABEL003
- :LABEL067
- If (BOOLEAN010 == 0) Then
- If ((BOOLEAN012 == 1) && (BOOLEAN008 == 0)) Then
- STRING017 = TSTRING065(INTEGER017)
- Endif
- If ((INTEGER021 > 21) && (INTEGER022 < 78)) Then
- For INTEGER025 = 14 To 19
- AnsiPos 2, INTEGER025
- ClrEol
- Next
- Gosub LABEL082
- For INTEGER025 = 20 To 21
- AnsiPos 2, INTEGER025
- ClrEol
- Next
- INTEGER022 = 2
- AnsiPos INTEGER022, INTEGER021
- Goto LABEL003
- Goto LABEL068
- Endif
- If ((INTEGER022 == 78) && (INTEGER021 == 21)) Then
- For INTEGER025 = 14 To 19
- AnsiPos 2, INTEGER025
- ClrEol
- Next
- Gosub LABEL082
- For INTEGER025 = 20 To 21
- AnsiPos 2, INTEGER025
- ClrEol
- Next
- AnsiPos INTEGER022 - Len(BIGSTR002) / 5, INTEGER021 - 1
- Print Space(Len(BIGSTR002) / 5)
- INTEGER022 = 2
- AnsiPos INTEGER022, INTEGER021
- Print BIGSTR002
- INTEGER022 = Len(BIGSTR002) / 5 + 2
- If (BOOLEAN011 == 1) Then
- FPutLn 1, "[" + STRING028 + "]: ", STRING063
- STRING063 = BIGSTR002
- Endif
- Goto LABEL003
- Endif
- :LABEL068
- STRING021 = MInkey()
- If (STRING021 == "") Goto LABEL003
- If (Len(STRING021) > 1) Goto LABEL003
- AnsiPos INTEGER022, INTEGER021
- If ((STRING021 == Chr(8)) && (INTEGER022 > 2)) Then
- STRING063 = Left(STRING063, Len(STRING063) - 1)
- BIGSTR002 = Left(BIGSTR002, Len(BIGSTR002) - 5)
- Print Chr(8) + Chr(32) + Chr(8)
- Dec INTEGER022
- Goto LABEL003
- Goto LABEL069
- Endif
- If (STRING021 == Chr(8)) Goto LABEL003
- :LABEL069
- If ((INTEGER022 == 78) && (STRING021 > Chr(27))) Then
- If (Len(BIGSTR002) < 78) Then
- AnsiPos INTEGER022 - Len(BIGSTR002) / 5, INTEGER021
- Print Space(Len(BIGSTR002) / 5)
- INTEGER022 = 2
- Inc INTEGER021
- AnsiPos INTEGER022, INTEGER021
- Print BIGSTR002
- INTEGER022 = Len(BIGSTR002) / 5 + 2
- Goto LABEL070
- Endif
- Inc INTEGER021
- INTEGER022 = 2
- AnsiPos INTEGER022, INTEGER021
- BIGSTR002 = ""
- :LABEL070
- If (BOOLEAN011 == 1) Then
- FPutLn 1, "[" + STRING028 + "]: ", STRING063
- STRING063 = BIGSTR002
- Endif
- Endif
- If (STRING021 == " ") Then
- Gosub LABEL071
- Goto LABEL076
- :LABEL071
- For INTEGER008 = 1 To INTEGER007
- If (Upper(TSTRING014(INTEGER008)) == Upper(StripAtx(BIGSTR002))) Then
- Backup Len(BIGSTR002) / 5
- If (INTEGER022 - Len(StripAtx(BIGSTR002)) + Len(TSTRING015(INTEGER008)) - 78 < 0) Then
- Gosub LABEL072
- STRING063 = Left(STRING063, Len(STRING063) - Len(StripAtx(BIGSTR002))) + TSTRING015(INTEGER008)
- Goto LABEL075
- Endif
- If (BOOLEAN011 == 1) Then
- STRING063 = Left(STRING063, Len(STRING063) - Len(StripAtx(BIGSTR002)))
- FPutLn 1, "[" + STRING028 + "]: ", STRING063
- STRING063 = TSTRING015(INTEGER008)
- Endif
- If (INTEGER021 < 21) Then
- Print Space(Len(BIGSTR002) / 5)
- INTEGER022 = Len(TSTRING015(INTEGER008)) + 2
- Inc INTEGER021
- AnsiPos 2, INTEGER021
- Gosub LABEL072
- Goto LABEL074
- :LABEL072
- If (BOOLEAN012 == 0) Then
- Print STRING017 + TSTRING015(INTEGER008)
- Goto LABEL073
- Endif
- STRING012 = ""
- For INTEGER006 = 1 To Len(TSTRING015(INTEGER008))
- STRING012 = STRING012 + TSTRING065(INTEGER017) + Mid(TSTRING015(INTEGER008), INTEGER006, 1)
- Inc INTEGER017
- If (INTEGER017 == S2I(STRING055, 10) + 1) INTEGER017 = 1
- Next
- Print STRING012
- :LABEL073
- Return
- :LABEL074
- Goto LABEL075
- Endif
- For INTEGER025 = 14 To 19
- AnsiPos 2, INTEGER025
- ClrEol
- Next
- Gosub LABEL082
- For INTEGER025 = 20 To 21
- AnsiPos 2, INTEGER025
- ClrEol
- Next
- AnsiPos INTEGER022 - Len(BIGSTR002) / 5, INTEGER021 - 1
- Print Space(Len(BIGSTR002) / 5)
- INTEGER022 = 2
- AnsiPos INTEGER022, INTEGER021
- Gosub LABEL072
- INTEGER022 = Len(TSTRING015(INTEGER008)) + 2
- If (BOOLEAN011 == 1) Then
- FPutLn 1, "[" + STRING028 + "]: ", STRING063
- STRING063 = BIGSTR002
- Endif
- :LABEL075
- INTEGER022 = INTEGER022 - Len(StripAtx(BIGSTR002)) + Len(TSTRING015(INTEGER008))
- Break
- Endif
- Next
- Return
- :LABEL076
- BIGSTR002 = ""
- Print STRING017 + STRING021
- STRING063 = STRING063 + STRING021
- Inc INTEGER022
- Goto LABEL003
- Endif
- If (STRING021 > Chr(27)) Then
- Print STRING017 + STRING021
- STRING063 = STRING063 + STRING021
- BIGSTR002 = BIGSTR002 + STRING017 + STRING021
- Inc INTEGER022
- Endif
- If (BOOLEAN012 == 1) Then
- If (INTEGER017 == STRING055) Then
- INTEGER017 = 1
- Goto LABEL077
- Endif
- Inc INTEGER017
- Endif
- :LABEL077
- If (STRING021 < Chr(28)) Then
- If ((STRING021 == Chr(27)) && (STRING052 == "YES")) Then
- If (BOOLEAN011 == 1) Then
- If (STRING063 <> "") Then
- FPutLn 1, "[" + STRING028 + "]: " + STRING063
- Endif
- FPutLn 1
- FPut 1, " φ PerfectChat Capture ended at "
- FPut 1, Date()
- FPut 1, " "
- FPut 1, Time()
- FPut 1, " with "
- FPutLn 1, STRING027 + " φ"
- FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
- FPutLn 1, " [Perfect Chatter v1.1 By IronMan]"
- FPutLn 1
- FClose 1
- Endif
- Goto LABEL084
- Endif
- If (STRING021 == Chr(26)) Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- AnsiPos 36, 3
- Print "@X08───────────────────────────────────────"
- AnsiPos 79, 23
- SaveScrn
- SPrint "23H"
- SPrint "┤User Viewing Help File├"
- AnsiPos 30, 6
- MPrint "0H"
- MPrint "┌────────────────────────┐"
- MPrint "0H"
- MPrint "│ ▄ ▄ ▄▄ ▄ ▄▄▄ █▌ │"
- MPrint "0H"
- MPrint "│ █▄█ █▄ █▌ █▄█ █▌ │"
- MPrint "30H"
- MPrint "│ █▌█ █▄ █▄ █▌ ▀ │"
- MPrint "30H"
- MPrint "│ ═──═─═──═──═──══ ▀ ═─ │"
- MPrint "30H"
- MPrint "│ [CTRL-W] Clear Screen │"
- MPrint "30H"
- MPrint "│ [CTRL-E] Remark Words │"
- MPrint "30H"
- MPrint "│ [CTRL-O] Change Color │"
- MPrint "30H"
- MPrint "│ [CTRL-G] CBeep Sysop │"
- MPrint "30H"
- MPrint "│ [CTRL-Z] This Help │"
- MPrint "30H"
- MPrint "│ [ESC] Quit Chat │"
- MPrint "30H"
- MPrint "└────────────────────────┘"
- :LABEL078
- STRING068 = MInkey()
- If ((STRING068 <> Chr(13)) && (STRING068 <> " ")) Goto LABEL078
- Cls
- RestScrn
- Gosub LABEL083
- AnsiPos INTEGER022, INTEGER021
- STRING021 = ""
- Goto LABEL003
- Endif
- If (STRING021 == Chr(15)) Then
- AnsiPos INTEGER022, INTEGER021
- If ((BOOLEAN012 == 0) && (BOOLEAN008 == 0)) Then
- BOOLEAN012 = 1
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- Print "28H"
- Print "ON "
- AnsiPos INTEGER026, INTEGER027
- Goto LABEL079
- Endif
- If ((BOOLEAN012 == 1) && (BOOLEAN008 == 0)) Then
- BOOLEAN012 = 0
- STRING017 = STRING048
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- Print "28H"
- Print "OFF"
- AnsiPos INTEGER026, INTEGER027
- Endif
- :LABEL079
- STRING021 = ""
- Goto LABEL003
- Endif
- If (STRING021 == Chr(13)) Then
- Gosub LABEL071
- Inc INTEGER021
- INTEGER022 = 2
- AnsiPos INTEGER022, INTEGER021
- If ((BOOLEAN011 == 1) && (STRING063 <> "")) FPutLn 1, "[" + STRING028 + "]: " + STRING063
- STRING063 = ""
- BIGSTR002 = ""
- Goto LABEL003
- Endif
- If (STRING021 == Chr(7)) Then
- If (Upper(STRING061) == "YES") Then
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- Sound 1000
- MPrint "30H"
- MPrint "┤Beeped Sysop!├"
- Delay 3
- MPrint "30H"
- MPrint "────────────────────"
- Sound 0
- AnsiPos INTEGER026, INTEGER027
- STRING021 = ""
- Goto LABEL003
- Endif
- Endif
- If (STRING021 == Chr(5)) Then
- AnsiPos INTEGER022, INTEGER021
- If ((BOOLEAN008 == 0) && (BOOLEAN012 == 0)) Then
- BOOLEAN008 = 1
- STRING017 = Mid(STRING058, 1, 4)
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- Print "16H"
- Print "ON "
- AnsiPos INTEGER026, INTEGER027
- Goto LABEL080
- Endif
- BOOLEAN008 = 0
- STRING017 = STRING048
- INTEGER026 = GetX()
- INTEGER027 = GetY()
- Print "16H"
- Print "OFF"
- AnsiPos INTEGER026, INTEGER027
- :LABEL080
- STRING021 = ""
- Goto LABEL003
- Endif
- If (STRING021 == Chr(23)) Then
- For INTEGER025 = 14 To 21
- AnsiPos 1, INTEGER025
- ClrEol
- Next
- INTEGER021 = 14
- INTEGER022 = 2
- AnsiPos INTEGER022, INTEGER021
- Goto LABEL003
- Endif
- Endif
- Endif
- Goto LABEL003
- :LABEL081
- INTEGER045 = 4
- For INTEGER044 = 11 To 12
- BIGSTR004 = ScrText(2, INTEGER044, 77, 1)
- If (StripAtx(BIGSTR004) <> STRING066) Then
- AnsiPos 2, INTEGER045
- Print BIGSTR004
- Inc INTEGER045
- Endif
- Next
- INTEGER020 = INTEGER045
- Return
- :LABEL082
- INTEGER047 = 14
- For INTEGER046 = 20 To 21
- BIGSTR005 = ScrText(2, INTEGER046, 77, 1)
- If (StripAtx(BIGSTR005) <> STRING066) Then
- AnsiPos 2, INTEGER047
- Print BIGSTR005
- Inc INTEGER047
- Endif
- Next
- INTEGER021 = INTEGER047
- Return
- :LABEL083
- SPrint "6H"
- SPrint "[CAPTURE: OFF REMARK: OFF COLOR: OFF]"
- If (BOOLEAN011 == 1) Then
- SPrint "6H"
- SPrint "ON "
- Endif
- If (BOOLEAN009 == 1) Then
- SPrint "9H"
- SPrint "ON "
- Endif
- If (BOOLEAN013 == 1) Then
- SPrint "1H"
- SPrint "ON "
- Endif
- Return
- :LABEL084
- Print "@X07"
- Cls
- For INTEGER014 = 1 To 23
- AnsiPos 1, INTEGER014
- Print TSTRING016(INTEGER014)
- Next
- AnsiPos INTEGER012, INTEGER013
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 7 Cls
- ; 15 ClrEol
- ; 1 Wait
- ; 365 Goto
- ; 396 Let
- ; 74 Print
- ; 2 PrintLn
- ; 245 If
- ; 2 FCreate
- ; 12 FOpen
- ; 2 FAppend
- ; 15 FClose
- ; 2 FGet
- ; 25 FPut
- ; 35 FPutLn
- ; 3 StartDisp
- ; 2 PutUser
- ; 1 Delete
- ; 1 AdjTime
- ; 25 Gosub
- ; 9 Return
- ; 14 Delay
- ; 27 Inc
- ; 9 Dec
- ; 4 Newlines
- ; 1 DispStr
- ; 142 AnsiPos
- ; 2 Backup
- ; 5 SaveScrn
- ; 5 RestScrn
- ; 20 Sound
- ; 243 SPrint
- ; 37 MPrint
- ; 1 Rename
- ; 13 FSeek
- ; 7 FRead
- ; 9 FWrite
- ; 1 AdjBytes
- ; 1 GetAltUser
- ; 1 AdjTBytes
- ; 1 AdjTFiles
- ; 1 BitSet
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 -
- ; 10 *
- ; 19 /
- ; 246 +
- ; 82 -
- ; 181 ==
- ; 31 <>
- ; 48 <
- ; 28 <=
- ; 19 >
- ; 60 >=
- ; 194 !
- ; 99 &&
- ; 28 ||
- ; 87 Len(
- ; 23 Upper()
- ; 8 Mid()
- ; 34 Left()
- ; 47 Space()
- ; 2 Ferr()
- ; 111 Chr()
- ; 2 Asc()
- ; 5 Date()
- ; 5 Time()
- ; 6 U_Name()
- ; 2 U_LDate()
- ; 2 U_LTime()
- ; 2 U_LDir()
- ; 2 U_Logons()
- ; 2 U_Ful()
- ; 3 U_Fdl()
- ; 3 U_BdlDay()
- ; 3 U_Bdl()
- ; 2 U_Bul()
- ; 12 StripAtx()
- ; 3 PCBDat()
- ; 17 PPEPath()
- ; 2 U_MsgRd()
- ; 2 U_MsgWr()
- ; 18 ReadLine()
- ; 2 MinLeft()
- ; 3 Exist()
- ; 2 S2I()
- ; 18 GetX()
- ; 18 GetY()
- ; 1 GrafMode()
- ; 1 FileInf()
- ; 7 KInkey()
- ; 2 MInkey()
- ; 3 U_RecNum()
- ; 7 ScrText()
- ; 1 Mixed()
- ; 2 ChatStat()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : WRAMadH
- ;
- ; W - Write user ■ 5
- ; Program writes a user record. Although this may be normal for a
- ; User Editor, it may also be a way to modify an account level.
- ; ■ Search for : PUTUSER
- ;
- ; R - Read user ■ 5
- ; User records are read, this may signify that someone wants to get
- ; various informations about a user (for example his password), but
- ; this may also be normal for a program accessing user records (for
- ; example a User Editor)
- ; ■ Search for : GETALTUSER
- ;
- ; A - Adjust online time remaining ■ 5
- ; Program modify the amount of online time remaining, this may
- ; be a way to bypass time limits
- ; ■ Search for : ADJTIME
- ;
- ; M - Send text to modem only ■ 4
- ; Some informations are sent only to the modem, not to the local
- ; screen, this is a well known way to make stealth backdoors, Check!
- ; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
- ;
- ; a - Adjust ratio ■ 4
- ; User's ratio is adjusted by changing the amount of files/bytes
- ; uploaded. This may be normal for a user editor.
- ; ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
- ;
- ; d - Access PCBOARD.DAT ■ 2
- ; Program gets the full pathname to PCBOARD.DAT, this may be usefull
- ; for many PPE so they can find various informations on the system
- ; (system paths, max number of lines in messages, ...) but it may also
- ; be a way to gather vital informations.
- ; ■ Search for : PCBDAT()
- ;
- ; H - Read Password or Password History ■ 5
- ; Program is reading the user's password or last password history
- ; This may be ok for a password manager, but it is very suspect. Check!
- ; ■ Search for : U_PWDHIST, U_PWD
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 28 For/Next
- ; 2 While/EndWhile
- ; 160 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-